package com.example.wechat.login.dto.feedback;

import com.example.wechat.login.entity.Feedback;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 问题反馈响应DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FeedbackResponse {

    /**
     * 反馈ID
     */
    private Long id;

    /**
     * 用户unionId
     */
    private String unionId;

    /**
     * 反馈类型
     */
    private String feedbackType;

    /**
     * 反馈内容
     */
    private String content;

    /**
     * 图片列表
     */
    private List<String> images;

    /**
     * 联系方式
     */
    private String contactInfo;

    /**
     * 反馈状态：0-未处理，1-处理中，2-已处理
     */
    private Integer status;

    /**
     * 处理结果
     */
    private String result;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 将实体转换为响应DTO
     *
     * @param feedback 反馈实体
     * @return 反馈响应DTO
     */
    public static FeedbackResponse fromEntity(Feedback feedback) {
        if (feedback == null) {
            return null;
        }

        return FeedbackResponse.builder()
                .id(feedback.getId())
                .unionId(feedback.getUnionId())
                .feedbackType(feedback.getFeedbackType())
                .content(feedback.getContent())
                .images(feedback.getImages())
                .contactInfo(feedback.getContactInfo())
                .status(feedback.getStatus())
                .result(feedback.getResult())
                .createTime(feedback.getCreateTime())
                .updateTime(feedback.getUpdateTime())
                .build();
    }
}
